# Makefile.am for anaconda widgets
#
# Copyright (C) 2011-2012  Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 31 Milk Street #960789 Boston, MA
# 02196 USA.  Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#

-include $(INTROSPECTION_MAKEFILE)

ACLOCAL_AMFLAGS = -I m4

GISOURCES = BaseWindow.c \
	 DiskOverview.c \
	 HubWindow.c \
	 MountpointSelector.c \
	 SpokeSelector.c \
	 SpokeWindow.c \
	 StandaloneWindow.c \
	 LayoutIndicator.c \
	 BaseStandalone.c \
	 widgets-common.c

GIHDRS = BaseWindow.h \
	 DiskOverview.h \
	 HubWindow.h \
	 MountpointSelector.h \
	 SpokeSelector.h \
	 SpokeWindow.h \
	 StandaloneWindow.h \
	 LayoutIndicator.h \
	 BaseStandalone.h \
	 widgets-common.h

NONGISOURCES =

NONGIHDRS =

DBUSSOURCES = an-localization.c

DBUSHEADERS = an-localization.h

SOURCES = $(GISOURCES) $(NONGISOURCES) $(DBUSSOURCES)

HDRS = $(GIHDRS) $(NONGIHDRS) $(DBUSHEADERS)

WIDGETSDATA = '"$(datadir)/anaconda"'

noinst_HEADERS = gettext.h intl.h

lib_LTLIBRARIES = libAnacondaWidgets.la
libAnacondaWidgets_la_CFLAGS = $(GTK_CFLAGS) -Wall -g\
			       -DWIDGETS_DATADIR=$(WIDGETSDATA)
libAnacondaWidgets_la_LIBADD = $(GTK_LIBS)
libAnacondaWidgets_la_LDFLAGS = $(LTLIBINTL) -version-info 4:0:0
libAnacondaWidgets_la_SOURCES = $(SOURCES) $(HDRS)

lib_includedir=$(includedir)/AnacondaWidgets
lib_include_HEADERS = $(HDRS)

# Resource bundle generation
RESOURCE_XML = resources.xml

# glib-compile-resources has --generate-dependencies that prints out everything in the
# .xml file, but the .xml file doesn't exist yet.
RESOURCE_DEPS = $(wildcard $(srcdir)/resources/*)

# Auto-generate resources.xml from the files in the resources directory
$(RESOURCE_XML): $(RESOURCE_DEPS) Makefile
	$(AM_V_GEN) echo "<?xml version='1.0' encoding='utf-8'?>" > $@ ; \
	echo "<gresources>" >> $@ ; \
	echo "  <gresource prefix='/org/fedoraproject/anaconda/widgets'>" >> $@ ; \
	for file in $(RESOURCE_DEPS) ; do \
	    basefile=$$(basename $$file) ; \
	    if [ "$$(echo "$$basefile" | cut -d . -f 2-)" = "png" ]; then \
	        echo "    <file preprocess='to-pixdata'>$$basefile</file>" >> $@ ; \
	    elif [ "$$(head -c 5 $$file)" = "<?xml" ]; then \
	        echo "    <file preprocess='xml-stripblanks'>$$basefile</file>" >> $@ ; \
	    else \
	        echo "    <file>$$basefile</file>" >> $@ ; \
	    fi ; \
	done ; \
	echo "  </gresource>" >> $@ ; \
	echo "</gresources>" >> $@

EXTRA_DIST = $(RESOURCE_DEPS)

# Source files generated by glib-compile-resources
resources.h: $(RESOURCE_XML) $(RESOURCE_DEPS) Makefile
	$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ \
		--sourcedir=$(srcdir)/resources --c-name anaconda_widgets --generate-header --internal \
		$(RESOURCE_XML)

resources.c: $(RESOURCE_XML) $(RESOURCE_DEPS) Makefile
	$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ \
		--sourcedir=$(srcdir)/resources --c-name anaconda_widgets --generate-source --internal \
		$(RESOURCE_XML)

nodist_libAnacondaWidgets_la_SOURCES = resources.c resources.h

CLEANFILES = \
	resources.c \
	resources.h \
	an-localization.c \
	an-localization.h \
	$(RESOURCE_XML)

MAINTAINERCLEANFILES = gettext.h

if HAVE_INTROSPECTION
AnacondaWidgets-3.4.gir: libAnacondaWidgets.la

AnacondaWidgets_3_4_gir_FILES = $(GISOURCES) $(GIHDRS)
AnacondaWidgets_3_4_gir_LIBS = libAnacondaWidgets.la
AnacondaWidgets_3_4_gir_SCANNERFLAGS = --warn-all --identifier-prefix=Anaconda --symbol-prefix=anaconda
AnacondaWidgets_3_4_gir_INCLUDES = Gtk-3.0

INTROSPECTION_GIRS = AnacondaWidgets-3.4.gir

typelibdir = $(libdir)/girepository-1.0
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)

CLEANFILES += AnacondaWidgets-3.4.gir $(typelib_DATA)
MAINTAINERCLEANFILES += Makefile.in
endif

# Source files generated by gdbus-codegen
an-localization.c an-localization.h &:
	gdbus-codegen \
	--interface-prefix org.fedoraproject.Anaconda.Modules. \
	--c-namespace An \
	--generate-c-code an-localization \
	--output-directory $(srcdir) \
	$(srcdir)/dbus/org.fedoraproject.Anaconda.Modules.Localization.xml
LayoutIndicator.c: an-localization.c an-localization.h
